-
Notifications
You must be signed in to change notification settings - Fork 57
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Lambda-ABF implementation for the NAMD interface #649
base: master
Are you sure you want to change the base?
Conversation
Hi @jhenin , I just read your excellent λ-ABF paper and then found this PR. I can't wait to give it a try. Is there any guide about how to write the Colvars file? |
Hi Haohao, Here is an example input (using HMR):
|
Thank you very much! Just one additional question. I need to use HMR to enable a timestep of 2fs? |
In alchemical simulations, I usually scale down the timestep, because one of the end points has a molecule in gas phase. Depending on the nature of the ligand, you may get stable simulations at larger timesteps. |
Thanks for your clarification! |
bb446e4
to
ad9d897
Compare
a325994
to
b094ab9
Compare
Hi, @jhenin , |
0674e73
to
ec218d0
Compare
Thanks Haohao, I like the idea. |
f580527
to
d76c074
Compare
0e6d067
to
255a566
Compare
Save pointer to NAMD Controller in proxy this is necessary for accessing the Controller from threads other than 0 Simplify accelMD call Use alch lambda value from state file Dependencies updates and fixes - distinguish f_cv_gradient and f_cv_apply_force - rename external cvs "driven" - fix bug where error messages were not informative for complex dependency resolution failures Lambda-dynamics improvements - add total_force_current_step feature - follow lambda value from back-end Remove unused variables Enable scriptedColvarforces in ABMD script Allow scripted forces on external param Print unscaled biasing force in MTS
Select correct force bin on a per-colvar basis
So far is was erroneously set to true, but its effects were not fully implemented in ABF.
[update-doc]
removes spurious error messages
Had to force single-thread calculation to work around unreliable results on the singel timestep level
255a566
to
0790933
Compare
As fully documented in the Lagardère et al. paper
complements the Tinker-HP implementation, which is maintained on the Tinker-HP repo.
TODO
Update: why are there no regression tests? Because of a synchronization issue in NAMD, where the current alchemical colvar interface is plugged into a "non-urgent" output routine, which causes it to run in a variable order with respect to the Colvars calculation. This causes variations in the instantaneous trajectory, even though it cancels out of the ensemble averages, so the free energies are correct. This causes failures in regression tests, which are by design sensitive to trajectory details. The GPU-resident code path of NAMD is immune from this problem and produces reproducible trajectories: it is therefore the recommended way to use this code in NAMD.